python 程序打包(UnicodeDecodeError: 'utf

您所在的位置:网站首页 python 打包程序 python 程序打包(UnicodeDecodeError: 'utf

python 程序打包(UnicodeDecodeError: 'utf

#python 程序打包(UnicodeDecodeError: 'utf| 来源: 网络整理| 查看: 265

python程序打包

pyinstaller -F *.py

pyqt程序文件打包

pyinstaller -w -F xxx.py --hidden-import PyQt5.sip

报错1:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position

需执行 chcp 65001 再次执行pyinstaller指令

报错2:Maximum recursion depth exceeded

这个参考了https://blog.csdn.net/lucytheslayer/article/details/81030840,说是因为递归遍历超过了限制,(但一般是因为你某一步有错,因为我之后把有错的地方解决了就不用加下述代码了)为了看最后生成的exe哪里有错不能运行,需要执行以下操作,以便继续生成exe文件 解决办法: 1.打开生成的xxx.spec文件,把一下代码加进去 import sys sys.setrecursionlimit(5000) 2.使用命令行 pyinstaller xxx.spec

pyqt程序打包:1文件夹形式,2单独exe形式

第一种打包完成拷贝pyqt platforms到文件夹内即可运行 第二种单独exe生成后即使拷贝platforms依然不能运行 参考https://blog.csdn.net/lynjan/article/details/81560732 大意是:64位操作系统和32位操作方法不一样,64位仅需拷贝platforms文件夹即可 本机64位win7,方法无效; 实在找不到其他类似问题解决办法,尝试其32位下解决办法

解决方案:

在exe同目录下新建plugins文件夹,然后将platfroms文件夹移到新建的文件夹下,同时修改main方法,添加以下代码:

QApplication.addLibraryPath("./plugins")

尝试重新生成exe,解决; 生成exe可在不同电脑上运行; 但是-w生成不带调试窗口的程序能正常打开,但是一点击按钮就崩溃(不打包直接run正常) 暂时无解。。。(如有遇到类似情况的请留言指正)

电脑安装了Anaconda3包管理工具,使用pyinstaller打包exe程序比较大;据说使用纯净的python环境打包会小很多

注意:若调用外部程序,注意将其拷贝至exe同级目录


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3